package com.hyz.yuaiagent.tools;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.springframework.ai.tool.annotation.Tool;
import org.springframework.ai.tool.annotation.ToolParam;

/**
 * 网页抓取工具类
 * 该工具类用于抓取网页内容，使用了Jsoup库进行HTTP请求并解析HTML文档
 */
public class WebScrapingTool {

    /**
     * 抓取网页内容
     * 该方法通过Jsoup库连接指定的URL并抓取整个网页的HTML内容
     *
     * @param url URL of the web page to scrape 需要抓取的网页URL
     * @return String 返回抓取到的网页HTML内容，如果抓取过程中发生异常，则返回错误信息
     */
    @Tool(description = "Scrape the content of a web page")
    public String scrapeWebPage(@ToolParam(description = "URL of the web page to scrape") String url) {
        try {
            // 连接到指定URL并获取HTML文档
            Document document = Jsoup.connect(url).get();
            // 返回HTML文档的内容
            return document.html();
        } catch (Exception e) {
            // 如果发生异常，返回错误信息
            return "Error scraping web page: " + e.getMessage();
        }
    }
}
